package com.caigou.service;

import com.caigou.bean.cms.entity.AdList;
import com.caigou.bean.cms.param.AdListParam;
import com.caigou.bean.exam.entity.Users;
import com.caigou.pojo.AdConfigInfoAdList;
import com.caigou.pojo.AdListInfo;
import com.caigou.util.Result;

import java.util.List;

public interface AdListService {
    Result loadAdListHistory(AdListParam param);

    Result recoverAdListHistory(AdListParam param, Users users);

    AdList loadAdListByConfig(Integer configId);

    void updateAdListStatus(Integer id, Integer adStatus);

    void updateAdListToDefault(Integer configId, Integer adStatus);

    int loadPublicCountByContract(Integer contractId);

    List<AdConfigInfoAdList> loadAdConfigInfoAdList(Integer configId);

    int loadTimeQuantum(Integer configId, String startTime, String endTime, Integer adListId);

    int loadContractQuantum(Integer configId, Integer contractId);

    int saveAdList(Integer adConfigId, Integer contractId, String jumpUrl, Integer imgId, String imgUrl, String startTime, String endTime,Integer adStatus);

    AdListInfo loadAdListInfo(Integer adListId);

    int updateAdListInfo(Integer adListId, String startTime, String endTime, String jumpUrl, Integer imgId, String imgUrl, Integer adStatus);

    AdList loadAdListById(Integer adListId);

    AdList loadAdListByConfigAndContract(Integer configId, Integer contractId);

    void deleteAdList(Integer adListId);

    List<AdList> loadAdListByTask();

    AdList loadAdListByAdConfigCode(String adConfigCode);

    Result loadSyncAdConfigList(AdListParam param, Users users);

    Result updateAdListByConfig(AdListParam param, Users users);

    AdList loadDefaultAdList(Integer configId);

    int loadPublicCountByConfig(Integer configId);
}
